iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

中年大叔(40+)前端自學筆記系列 第 15

DAY15 - 在動態路由下產生靜態網頁SSG

  • 分享至 

  • xImage
  •  

app\reviews[slug]\page.jsx

// 產生靜態頁面
export async function generateStaticParams() {
    return [
        { slug: "hellblade" },
        { slug: "hollow-knight" },
    ]
}

變成單獨的函數~回傳 slug

lib\reviews.js


//單獨取出slug

export async function getSlugs() {

const files = await readdir("./content/reviews");

    return files
        .filter((file) => file.endsWith(".md"))
        .map((file) => file.slice(0, -".md".length));
}

// 註  getSlugs() 是拿 getReviews() 程式碼來改的~ 為了不要重複使用程式碼 這邊也要修改一下

export async function getReviews() {

const slugs = await getSlugs();
    
    const reviews = [];
    for (const slug of slugs) {
        const review = await getReview(slug);
        reviews.push(review);
    }

    return reviews;
}

大叔的鐵人賽第十五天結束 :)


上一篇
DAY14 - Review頁面重構
下一篇
DAY16 - 增加排序功能
系列文
中年大叔(40+)前端自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言